Developments in computer hardware have steadily increased the share of computing resources available to an individual user. In the beginning, computers were single user resources. Batch systems were then developed to take better advantage of the central processing unit (CPU). Next came time-sharing systems, which allowed large numbers of users to interact with a single CPU. More recently, systems in which each workstation has its own CPU have evolved from time-sharing systems to let users continue to share files without sharing a single CPU. Current workstations have overcome the problems of distributed file systems with transparent network file systems that allow users to access both local and remote files in a uniform way.
Further development brought high performance workstations, with bit map graphic displays, and high speed local area networks. Initially, most workstations were used for computer aided design applications (i.e. CAD/CAM, MCAD, etc.). However, as the price of workstations fell and the amount of software increased, a new market was created called Computer Aided Software Engineering (CASE). Various CASE tools have various software control and management capabilities. In one kind of CASE tool, components of a software system are individually designed and the software system is constructed from its components. The larger the constructed system is, however, the longer is the amount of time required to build the system. Thus, the required build time greatly impairs productivity since the user must wait for the CASE tool, and for some systems he must wait overnight.